1699B - Almost Ternary Matrix - CodeForces Solution


bitmasks constructive algorithms matrices *900

Please click on ads to support us..

Python Code:

t = int(input())

a = [[0, 1, 1, 0], [1, 0, 0, 1], [1, 0, 0, 1], [0, 1, 1, 0]]

for _ in range(t):
    n, m = list(map(int, input().split()))
    arr = [[0] * m for _ in range(n)]
    for i in range(n):
        for j in range(m):
            print(a[i % 4][j % 4], end=' ')
        print()

C++ Code:

#include<bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp> // Common file 
// #include <ext/pb_ds/tree_policy.hpp> 
// #include <functional> // for less 
#define ll long long int

#define mpl map<ll,ll>
#define mpc map<char,ll>

#define fr(a,b)  for(ll i=a;i<b;i++)
#define rfr(a,b) for(ll i=a;i>b;i--)
#define deb(x) cout << #x << "=" << x << endl  
#define deb2(x, y) cout << #x << "=" << x << "," << #y << "=" << y << endl
#define pb push_back
#define mp make_pair
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define sortall(x) sort(all(x))
#define rev(x) reverse(all(x))
#define bitcnt(x) __builtin_popcountll(x)
#define read(x) fr(0,x.size()) cin>>x[i];
#define printv(x) fr(0,x.size()) cout<<x[i]<<" ";
#define tr(it, a) for(auto it = a.begin(); it != a.end(); it++)
#define PI 3.1415926535897932384626
#define py cout<<"YES\n";
#define pm cout<<"-1\n";
#define pn cout<<"NO\n";
#define pii pair<int, int>
#define pl pair<ll, ll>
#define vi vector<int>
#define vl vector<ll>
#define vpii vector<pii>
#define vpl vector<pl>
#define vvi vector<vi>
#define vvl vector<vl>
#define fastio  ios_base::sync_with_stdio(false); cin.tie(NULL);
using namespace std;
// using namespace __gnu_pbds; 


int mpow(int base, int exp); 
void ipgraph(int n, int m);
void dfs(int u, int par);

const int mod = 1'000'000'007;
const int N = 3e5, M = N;
// typedef tree<int, null_type, less_equal<int>, rb_tree_tag, 
//             tree_order_statistics_node_update> 
//     ordered_multiset; 




struct sparse_table{
  vector<vector<ll>> mat;
  ll n,m;
  vector<ll> p2;
  void init(ll _n,ll _m)
  {
      n=_n;
      m=_m;
      mat.resize(n);
      fr(0,n)
        mat[i].resize(m);
      p2.resize(n+1);
      p2[1]=0;
      fr(2,n+1)
        p2[i]=p2[i/2]+1;
      
  }
  void build(vector<ll> &a)
  {
      fr(0,n)
        mat[i][0]=a[i];
      for(ll j=1;j<m;j++)
      {
          for(ll i=0;(i+(1<<j))<=n;i++)
          {
              mat[i][j]=(mat[i][j-1]+mat[i+(1<<(j-1))][j-1]);
          }
      }
  }
  ll minQuery(ll l,ll r)
  {
      ll len=(r-l+1);
      ll pw=p2[len];
      return min(mat[l][pw],mat[r-(1<<pw)+1][pw]);
  }
  ll sumQuery(ll l,ll r)
  {
      ll ans=0;
      for(ll j=m;j>=0;j--)
      {
          if((1<<j)<=(r-l+1))
          {
            ans+=mat[l][j];
            l+=(1<<j);
          }
      }
      return ans;
  }
};
class Graph{
  ll V;
  vector<vector<ll>> li;
  public:
     Graph(ll v)
     {
         V=v;
         li.resize(V+1);
     }
     void addEdge(ll x,ll y)
     {
         li[x].pb(y);
         li[y].pb(x);
     }
     void printAdj()
     {
         for(ll i=1;i<=V;i++)
         {
             cout<<i<<"--> :";
                for(auto ver:li[i])
                   cout<<ver<<" ";
             cout<<endl;
         }
     }
     void bfs(ll source)
     {
         vector<ll> vis(V+1,0);
         queue<ll> q;
         vector<ll> parent(V+1,-1);
         vector<ll> dis(V+1,0);
         q.push(source);
         vis[source]=1;
         dis[source]=0;
         while(!q.empty())
         {
             ll f=q.front();
             q.pop();
             for(auto ver:li[f])
             {
                 if(!vis[ver])
                 {
                     q.push(ver);
                     vis[ver]=1;
                     dis[ver]=dis[f]+1;
                     parent[ver]=f;
                 }
             }
         }
         
     }
};



vl sieve(10000001,1);


vector<ll> fact(100005,0);
void era(ll n)
{
    for(ll i=2;i*i<=10000000;i++)
    {
        if(sieve[i]==1)
        {
            for(ll j=i*i;j<=10000000;j+=i)
            {
                sieve[j]=0;
            }
        }
    }
    
    
    for(ll i=2;i<=n;i++)
       if(sieve[i])
          cout<<i<<" ";
    cout<<endl;
}
ll binpow(ll a,ll b)
{
    ll ans=1;
    while(b>0)
    {
        if(b&1)
        {
            ans=(ans*a)%mod;
        }
        b>>=1;
        a=(a*a)%mod;
    }
    return ans;
}
ll inv(ll n)
{
    return binpow(n,mod-2);
}
ll nCr(ll n,ll r)
{
    if(n==r||r==0)
      return 1;
    else
    {
        ll num=fact[n];
        ll den=(fact[n-r]*fact[r])%mod;
        return (num*inv(den))%mod;
    }
}
ll sumd(ll n)
{
    ll ans=0;
    while(n>0)
    {
        ans+=n%10;
        n/=10;
    }
    return ans;
}
int main()
{
    fact[1]=1;
    fact[0]=1;
    fr(2,100005)
    {
        fact[i]=(fact[i-1]*i)%mod;
    }
    
    ll t;
    cin>>t;
    while(t--)
    {
      ll n,m;
      cin>>n>>m;
      for(ll i=1;i<=n;i++)
      {
          for(ll j=1;j+3<=m;j+=4)
          {
              if(i%4==1||i%4==0)
              {
                  cout<<"1 0 0 1 ";
              }
              else
              {
                  cout<<"0 1 1 0 ";
              }
          }
          if(m%4==2)
          {
              if(i%4==1||i%4==0)
              {
                  cout<<"1 0 ";
                  
              }
              else
               cout<<"0 1 ";
          }
          cout<<endl;
      }
       
    }  
}



Comments

Submit
0 Comments
More Questions

1271A - Suits
259B - Little Elephant and Magic Square
1389A - LCM Problem
778A - String Game
1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome